package cn.lcc.utils.commom.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface IotField {

    /**
     * 字段编号
     *
     * @return
     */
    String code() default "";

    /**
     * 字段数值
     *
     * @return
     */
    String value() default "";

    /**
     * 字段描述
     *
     * @return
     */
    String desc() default "";

    /**
     * 字段解析函数分类
     *
     * @return
     */
    String parseType() default "String";

    /**
     * 数据开始
     *
     * @return
     */
    int hexStart() default 0;

    /**
     * 数据长度
     *
     * @return
     */
    int hexLength() default 1;

    /**
     * 数据长度
     *
     * @return
     */
    int[] version() default {0};


    /**
     * 数据分割符选项
     *
     * @return
     */
    String hexValueOptions() default "";

    /**
     * 数据分隔符之后下标
     *
     * @return
     */
    int hexValueIndex() default 0;

}